'use strict'
export default {
  /**
   * @description 保存Cookie
   * @param key {string}  需要存储cookie的key
   * @param value {string}  需要存储cookie的value
   * @param expires {number}  需要存储cookie的天数（默认为 1 ）
   */
  SET (key = '', value = '', expires = 1) {
    const exp = expires ? new Date() : null
    exp.setTime(exp.getTime() + expires * 24 * 60 * 60 * 1000)
    document.cookie = [encodeURIComponent(key), '=', value, exp ? '; expires=' + exp : '', ';', 'path=/;', exp].join('')
  },
  /**
   * @description 获取Cookie
   * @param key {String}  需要获取cookie的key
   * @returns {string|null} 返回cookie的内容
   */
  GET (key = '') {
    const value = document.cookie.match(new RegExp('(?:^|\\s+|;+)' + key + '=([^;]*)'))
    return value ? value[1] : null
  },
  /**
   * @description 删除Cookie
   * @param key {String}  需要删除cookie的key
   */
  DEL (key) {
    const exp = new Date()
    exp.setTime(exp.getTime() - 1)
    const value = this.GET(key)
    document.cookie = key + '=' + value + ';expires=' + exp.toGMTString()
  }
}
